//
//  ZRStatusListViewModel.swift
//  XJ8XWB
//
//  Created by 中二 on 2016/10/30.
//  Copyright © 2016年 中二. All rights reserved.
//

import UIKit

class ZRStatusListViewModel: NSObject {

    // 保存微博数据数组
    var dataArray:[ZRStatusViewModel] = [ZRStatusViewModel]()
    
    // 请求首页数据
    func getHomeData(finish:@escaping (Bool)->()){
        ZRNetworkTools.sharedTools.homeLoadData(success: { (response) in
            
            //            print("请求成功",response)
            // 判断response 是否为 nil 而且是否转成字典
            guard let resDict = response as? [String: Any] else {
                print("可能为 nil 可能转不出字典")
                finish(false)
                return
            }
            // 判断resDict["statuses"] 是否为 nil 而且是否可以转成数组
            guard let resArr = resDict["statuses"] as? [[String: Any]] else {
                print("可能为 nil 可能转不出数组")
                finish(false)
                return
            }
            // yymodel使用直接转出数组
            let statusArray = NSArray.yy_modelArray(with: ZRStatusModel.self, json: resArr) as! [ZRStatusModel]
            
            // 创建一个临时可变的数组
            var tempArray:[ZRStatusViewModel] = [ZRStatusViewModel]()
            
            // 遍历statusArray
            for model in statusArray {
                let statusViewModel = ZRStatusViewModel()
                // 给其身上的 model 赋值
                statusViewModel.statusModel = model
                // 添加 viewmodel 到数组中
                tempArray.append(statusViewModel)
            }
            
            // 保存数据
            self.dataArray = tempArray
            // 代表成功
            finish(true)
        }) { (error) in
            print("请求失败", error)
            finish(false)
        }
    }

    
}
